package com.iflytek.ci.cums.service;

import com.iflytek.ci.cpms.domain.Team;
import com.iflytek.ci.cums.domain.Account;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * <p>
 * teamService interface
 * </p>
 *
 * @author mdzhang
 * @since JDK 1.5
 */
public interface TeamService {
	/**
	 * 根据团队id得到某个团队信息
	 *
	 * @param id 团队id
	 * @return team
	 */
	public Team get_teamById(long id);

	/**
	 * 根据团队id删除某个团队
	 *
	 * @param id  团队id
	 */
	public void remove_team(long id);

    /**
     * 增加一个新团队
     *
     * @param team  团队信息
     * @param uid    团队成员id数组
     */
	public void add_team(Team team, long[] uid);

    /**
     *根据团队name获得团队ID
     *
     * @param tname  根据团队名
     *@return  团队id
     */
    public long getTidByName(String tname);

	/**
	 * 根据团队id获得成员信息
	 *
	 * @param team_id   团队id
	 * @return 成员信息列表
	 */
	public List<Account> get_unameby_tid(long team_id);

	/**
	 * 根据一个或者多个项目的ID删除团队
	 *
	 * @param project_ids 项目ID
	 */
	@Transactional
	void remove_team_with_projects(String[] project_ids);


}
